package com.jtny.nytb.equipment.vo.dataagorithm;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.jtny.component.util.BeanUtils;
import com.jtny.nytb.equipment.dto.dataalgorithm.DataAlgorithmParamConfigDTO;
import lombok.Data;

import java.io.Serializable;

/**
 * @author 智慧能源中心 - 伍天宇
 * @package com.jtny.nytb.config.generic.dataalgorithm.vo
 * @fileName ExcelAlgorithmParamVO.java
 * @createTime 2023年11月13日 16:06
 * @Copyright© 2023 jtny
 * 江投能源技术研究院 版权所有
 */
@Data
@ExcelIgnoreUnannotated
public class ExcelAlgorithmParamVO implements Serializable {
    /**
     * 算法名
     */
    @ExcelProperty("算法名")
    @ColumnWidth(30)
    private String algorithmName;

    /**
     * 参数标识
     */
    @ExcelProperty("参数标识")
    @ColumnWidth(30)
    private String mark;

    /**
     * 参数描述
     */
    @ExcelProperty("参数描述")
    @ColumnWidth(30)
    private String description;

    /**
     * 映射类型
     */
    @ExcelProperty("映射类型")
    @ColumnWidth(30)
    private String mappedType;

    /**
     * 全局变量映射
     */
    @ExcelProperty("全局变量映射")
    @ColumnWidth(30)
    private String globalVariableMapped;

    /**
     * 全局变量值
     */
    @ExcelProperty("全局变量值")
    @ColumnWidth(30)
    private String globalVariableValue;

    /**
     * 全局变量描述
     */
    @ExcelProperty("全局变量描述")
    @ColumnWidth(50)
    private String globalVariableDescription;

    public DataAlgorithmParamConfigDTO toDataAlgorithmParamDTO() {
        return BeanUtils.copyToObject(this, DataAlgorithmParamConfigDTO.class);
    }
}
